Pi Agent 使用指南
Pi 是开源的 终端 Coding Agent(MIT):在项目目录里读文件、改代码、跑命令。交互上接近 Claude Code、Codex CLI,但定位不同——它是一套极简 harness,默认不做 Plan Mode、子 Agent、MCP,把工作流留给 AGENTS.md、Skills 和扩展。
本文覆盖安装、登录、日常命令和一套可照着做的 Vue 流程。命令以 官方文档 为准,产品迭代快,遇歧义请查官网。
1. 适合谁、和 Claude Code 差在哪
- 适合:习惯终端、想自己选模型、希望用项目约定约束 Agent 的前端 / Node 仓库。
- 不太适合:指望装完就有权限弹窗、Plan Mode、内置 MCP——这些要自己装扩展,或继续用 Claude Code / Cursor。
- 核心差别:Claude Code 是功能完整的封闭产品;Pi 默认只给
read/edit/write/bash等基础工具,一套 TUI 切 15+ 家模型(Anthropic、OpenAI、Gemini、OpenRouter、Ollama 等)。
工作循环和别的 Agent 一样:
读取项目 → 分析 → 改文件 → 跑命令 → 看结果 → 继续修2. 安装
需要已安装 Node.js。当前包在 @earendil-works 作用域(2026 年 5 月从 @mariozechner 迁出,旧包名不要再用)。
npm install -g --ignore-scripts @earendil-works/pi-coding-agent--ignore-scripts 是官方推荐:Pi 正常安装不依赖 lifecycle scripts。macOS / Linux 也可用:
curl -fsSL https://pi.dev/install.sh | sh验证:
pi --version
pi --help更新 CLI:pi update --self,或 npm update -g @earendil-works/pi-coding-agent。
3. 登录与选模型
第一次进交互界面,先准备好 Claude / ChatGPT / Copilot 订阅,或任意支持厂商的 API Key。
/login按提示走 OAuth 或填 Key。之后随时:
| 操作 | 怎么做 |
|---|---|
| 切换模型 | /model 或 Ctrl + L |
| 把当前模型存成启动默认 | 在模型选择器里 Ctrl + S |
| 在常用模型间循环 | /scoped-models 勾选后,用 Ctrl + P |
| 改思考级别 | Shift + Tab,或 /thinking |
思考级别不必拉满:
简单修改 → low
日常开发 → medium
复杂 Bug / 架构 → high / xhigh4. 启动
进入项目根目录再开 Pi(它会加载该目录及上层的 AGENTS.md):
cd /path/to/your-project
pi进来后先让它看,不要改:
帮我分析一下这个项目的整体结构,暂时不要修改代码。也可以启动时带上任务,或把文件塞进上下文:
pi "帮我分析这个项目"
pi @package.json "这个项目用了哪些技术"
pi @src/api/user.ts @src/views/user/index.vue "分析这两个文件之间的数据流"交互里输入 @ 会模糊搜索仓库文件。一次性脚本用 pi -p "问题",跑完就退出。
5. 斜杠命令
输入 / 会出现补全。日常够用的是这些:
| 命令 | 作用 |
|---|---|
/help | 帮助 |
/login / /logout | 登录或退出 |
/model | 切换模型 |
/thinking | 思考级别 |
/settings | 主题、传输等 |
/new | 新 Session |
/resume | 恢复历史 Session |
/session | 当前 Session 信息 |
/tree | 跳到历史任意节点继续 |
/fork | 从某条用户消息分出新 Session |
/compact | 压缩上下文(上下文快满时也会自动摘要) |
/reload | 重载扩展、Skills、AGENTS.md |
/quit | 退出(也可连按两次 Ctrl + C) |
Session 存在 ~/.pi/agent/sessions/,按工作目录归档。任务做完用 /new;接着昨天的用 /resume,或启动时 pi -c 继续最近一次。对话太长就 /compact。
6. 终端命令:! 和 !!
!npm run build # 执行,并把输出交给模型
!!npm run build # 只执行,不把输出交给模型典型循环:改代码 → !npm run build → 有错让它修 → 再 build。
Agent 还在跑时:Enter 插入转向消息(当前工具跑完再生效),Alt + Enter 排队等它全部做完再发(Windows Terminal 默认可能把 Alt + Enter 占成全屏,需在终端里改键)。
7. 快捷键
| 快捷键 | 功能 |
|---|---|
Shift + Tab | 切换 Thinking Level |
Esc | 中断当前操作 |
Esc Esc | 打开 Session Tree |
Ctrl + L | 模型选择 |
Ctrl + P | 在已勾选的常用模型间切换 |
Ctrl + O | 折叠 Tool 输出 |
Ctrl + T | 折叠 Thinking |
Ctrl + G | 用外部编辑器写提示 |
Ctrl + C × 2 | 退出 |
完整列表在会话里执行 /hotkeys。
8. AGENTS.md 和 Skills
长期用的话,在项目根放 AGENTS.md(也认 CLAUDE.md)。启动时会从 ~/.pi/agent/、父目录、当前目录层层加载。某层若有 AGENTS.override.md,该层只读 override。
前端仓库可以这样写:
# Project Instructions
## 技术栈
- Vue 3
- TypeScript
- Vite
- Pinia
- Axios
## 编码规范
- 使用 Composition API
- 优先使用 `<script setup>`
- 新增代码使用 TypeScript
- 优先复用已有组件
- 不要随意增加依赖
- 不要修改与当前任务无关的代码
## 验证
修改完成后运行:
npm run lint
npm run build
## Git
不要自动执行:
- git push
- git reset --hard
- git clean -fdSkills 是按需加载的能力包(说明 + 工具),会话里以 /skill:名称 调用,避免一上来塞满 system prompt。项目级 skill 一般在 .agents/skills;第一次在含项目配置的目录启动时,Pi 会问是否信任该项目,同意后才加载项目本地扩展和 skill。改完 AGENTS.md 或 skill 可 /reload。
9. 推荐流程(Vue 项目)
cd /path/to/your-project
pi先对齐范围:
先不要修改代码。
分析当前项目结构,并告诉我实现这个需求需要修改哪些文件。再动手:
按照刚才的方案开始修改。
要求:
1. 尽量复用已有代码
2. 不增加新的依赖
3. 不修改无关文件
4. 完成后运行 npm run build出错就接着修:
分析刚才的错误并修复,修复完成后重新执行 build。最后自己看 diff,再提交:
!git diff10. 速查
pi 启动
pi -c 继续最近 Session
pi -p "问题" 问完就退出
/login /model /thinking 登录、模型、思考级别
/new /resume /compact Session
!npm run build 跑命令并给模型看输出
!!npm run build 只跑命令
@package.json 把文件放进上下文长期使用优先配好:AGENTS.md + 默认模型 +(按需)Skills。源码与 Issue:github.com/earendil-works/pi。
